home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 1998 November / IRIX 6.5.2 Base Documentation November 1998.img / usr / share / catman / u_man / cat1 / cc.z / cc
Text File  |  1998-11-02  |  60KB  |  1,001 lines

  1. CC(1)                                                  Last changed: 3-9-98
  2.  
  3.  
  4. NNAAMMEE
  5.      cccc, cc8899 - Invokes the MIPS and MIPSpro C compiler
  6.  
  7. SSYYNNOOPPSSIISS
  8.      cccc [--oo3322 | --nn3322 | --6644] [--aannssiiEE] [--aannssiiWW] [--aannssii] [--aavvooiidd__ggpp__oovveerrffllooww]
  9.      [--cc] [--cccckkrr] [--CCLLIISSTT::......] [--ccoommmmoonn] [--DD _n_a_m_e=_d_e_f] [--DD _n_a_m_e]
  10.      [--DDEEBBUUGG::......] [--ddiiaagg__eerrrroorr _n_u_m_b_e_r_l_i_s_t]] [[--ddiiaagg__rreemmaarrkk _n_u_m_b_e_r_l_i_s_t]]
  11.      [[--ddiiaagg__ssuupppprreessss _n_u_m_b_e_r_l_i_s_t]] [[--ddiiaagg__wwaarrnniinngg _n_u_m_b_e_r_l_i_s_t]] [[--ddoollllaarr]] [[--EE]]
  12.      [[--ffbb<<_f_i_l_e>]] [[--ffbbggeenn]] [[--ffbbuussee<<_f_i_l_e>>]] [[--ffllooaatt]] [[--ffllooaatt__ccoonnsstt]]
  13.      [[--ffuullllwwaarrnn]] [[--GG _n_u_m]] [[--gg_n]] [[--hheellpp]] [[--II]] [[--II _d_i_r]] [[--iiggnnoorree__ssuuffffiixx]]
  14.      [[--IINNLLIINNEE::......]] [[--IIPPAA::......]] [[--KKPPIICC]] [[--LL _d_i_r_e_c_t_o_r_y]] [[--ll _l_i_b_r_a_r_y]]
  15.      [[--LLAANNGG::......]] [[--LLIISSTT::......]] [[--LLNNOO::......]] [[--MM]] [[--MMDDuuppddaattee _f_i_l_e_n_a_m_e]] [[--mmiippss_n
  16.      [[--mmpp]] [[--nnooccpppp]] [[--nnoonn__sshhaarreedd]] [[--nnoossttddiinncc]] [[--oo _o_u_t_p_u_t]] [[--OO_n]] [[--OOPPTT::......]]
  17.      [[--PP]] [[--ppccaa]] [[--ppeeddaannttiicc]] [[--rr]] [[--rr1100000000]] [[--rr55000000]] [[--rr88000000]] [[--SS]] [[--sshhooww]]
  18.      [[--ssiiggnneedd]] [[--TTAARRGG::......]] [[--TTEENNVV::......]] [[--ttrraappuuvv]] [[--UU _n_a_m_e]]
  19.      [[--uussee__rreeaaddoonnllyy__ccoonnsstt]] [[--uussee__rreeaaddwwrriittee__ccoonnsstt]] [[--vv]] [[--vveerrssiioonn]] [[--WW
  20.      _c,_a_r_g_1[[,,_a_r_g_2......]]]] [[--ww]] [[--ww22]] [[--wwooffff aallll]] [[--wwooffff _n_u_m_b_e_r_l_i_s_t]] [[--xxaannssii]]
  21.      [[--XXccpplluussccoommmm]] [[--xxggoott]] [[--YY _c,_p_a_t_h]]
  22.  
  23. IIMMPPLLEEMMEENNTTAATTIIOONN
  24.      IRIX systems
  25.  
  26. DDEESSCCRRIIPPTTIIOONN
  27.      This man page describes the cccc(1) and cc8899(1) commands.  These commands
  28.      invoke the MIPS and MIPSpro C compiler and the source preprocessor on
  29.      source files that contain C code.  cc8899 is used to invoke the C
  30.      compiler when the environment variable __XXPPGG is defined.  The command
  31.      then operates in conformance with the X/Open XPG4 standard.  Option or
  32.      command line differences that may occur due to conformance to this
  33.      standard are noted in the option descriptions.
  34.  
  35.      By default, the C compiler creates an executable file named aa..oouutt.
  36.      Other files used and created by the C compiler are discussed under the
  37.      FILES section of this man page.  See the lldd(1) man page for load-time
  38.      options.
  39.  
  40.      If conflicting options are specified, the option specified last on the
  41.      command line overrides the previously specified option.  Exceptions to
  42.      this rule are noted in the individual option descriptions.
  43.  
  44.      Most ##pprraaggmmaa directives override corresponding command-line options.
  45.      Exceptions to this rule are noted in option or ##pprraaggmmaa directive
  46.      descriptions.
  47.  
  48.      Some command options, for example, --LLIISSTT, --LLNNOO, --OOPPTT, --TTAARRGG, and --TTEENNVV
  49.      accept several arguments and allow you to specify a setting for each
  50.      argument.  To specify multiple arguments, either use colons to
  51.      separate each argument or specify multiple options on the command
  52.      line.  For example, the following command lines are equivalent:
  53.  
  54.           cc -LIST:notes=ON:options=OFF b.f
  55.           cc -LIST:notes=ON -LIST:options=OFF b.f
  56.  
  57.      The SGI compilers support three different Application Binary
  58.      Interfaces, which are controlled by the following options (see the
  59.      aabbii(5) man page for more information on these interfaces):
  60.  
  61.           OOppttiioonn         AAccttiioonn
  62.  
  63.           --oo3322 or --3322    Generates a 32-bit object.  (See the o32(5) man
  64.                          page for option descriptions and details.)  This
  65.                          defaults to --mmiippss22 if --mmiippss11 has not been
  66.                          specified.  See the ppee__eennvviirroonn(5) man page for
  67.                          information on the CCOOMMPPIILLEERR__DDEEFFAAUULLTTSS__PPAATTHH
  68.                          environment variable.
  69.  
  70.           --nn3322           Generates a 32-bit object.  This defaults to
  71.                          --mmiippss33 if --mmiippss44 has not been specified.
  72.  
  73.           --6644            Generates a 64-bit object.  This defaults to
  74.                          --mmiippss44 if --mmiippss33 has not been specified.  See the
  75.                          ppee__eennvviirroonn(5) man page for information on the
  76.                          CCOOMMPPIILLEERR__DDEEFFAAUULLTTSS__PPAATTHH environment variable.
  77.  
  78.      The following alphabetized list of options are specific to the cccc and
  79.      cc8899 commands and are valid in the n32 and 64 ABIs.  See the oo3322(5) man
  80.      page for options that are specific to the o32 ABI.
  81.  
  82.      ----      In XPG4 mode, standard utilities that do not accept options,
  83.              but that do accept operands, will recognize ---- as the first
  84.              argument to be discarded.  This is required because portable
  85.              applications need a way to shield their operands from any
  86.              arbitrary options that the implementation may provide as an
  87.              extension.
  88.  
  89.              For example, if the standard utility ffoooo is listed as taking
  90.              no options, and the application needed to give it a pathname
  91.              with a leading hypen, it could safely do it as: ffoooo ---- --mmyyffiillee
  92.              and avoid any problems with --mm used as an extension.
  93.  
  94.      --aannssii   Enables pure ANSI/ISO C mode.  To see a list of defined
  95.              symbols, enter the cccc --sshhooww ffoooo..cc command and see which
  96.              symbols have been added as --DDssyymmbbooll__nnaammee.  Default is xxaannssii.
  97.  
  98.              NOTE: When compiling in pure ANSI/ISO mode, several standard
  99.              UNIX symbols (for example, eennvviirroonn, eenndd) may only be
  100.              referenced by their ANSI/ISO-compliant counterparts (for
  101.              example, __eennvviirroonn, __eenndd).  The type lloonngg lloonngg is allowed, but
  102.              results in a warning.  To take advantage of this type in
  103.              libraries that refer to ____iinntt6644__tt and ____uuiinntt6644__tt you must
  104.              define the macro ____LLOONNGGLLOONNGG on the command line; otherwise,
  105.              ____iinntt6644__tt and ____uuiinntt6644__tt are defined as structs.  See the _A_N_S_I
  106.              _C _T_r_a_n_s_i_t_i_o_n _G_u_i_d_e for more information.
  107.  
  108.              If --aannssii is specified with cccckkrr or xxaannssii, the last option
  109.              specified is effective and the rest are ignored.
  110.  
  111.      --aannssiiEE  Issues error messages when non-standard features are used.
  112.              Available in ANSI/ISO C conformance (see --aannssii).
  113.  
  114.      --aannssiiWW  Issues warning messages when non-standard features are used.
  115.              This is the default in pure ANSI/ISO C mode.  Available in
  116.              ANSI/ISO C conformance (see --aannssii).
  117.  
  118.      --aavvooiidd__ggpp__oovveerrffllooww
  119.              Sets assorted options that are intended to avoid GOT overflow.
  120.  
  121.      --cc      Creates a relocatable object file for each named source file,
  122.              but does not link the object files.  The relocatable object
  123.              file name corresponds to the name of the source file; a ..oo
  124.              suffix is substituted for the suffix of the source file.
  125.  
  126.      --cccckkrr   The traditional K&R/Version7 C with SGI extensions, including
  127.              function prototypes, and the types vvooiidd and vvooiidd**.  To see a
  128.              list of defined symbols, enter the cccc --sshhooww ffoooo..cc command and
  129.              see which symbols have been added as --DDssyymmbbooll__nnaammee.  Default
  130.              is xxaannssii.  If specified with --aannssii or --xxaannssii, the last option
  131.              specified is effective and the rest are ignored.
  132.  
  133.      --CCLLIISSTT:: ......
  134.              Controls emission of the compiler's internal program
  135.              representation back into C code, after IPA inlining and loop-
  136.              nest transformations.  This is a diagnostic tool, and the
  137.              generated C code may not always be compilable.  This compiler
  138.              option may be discontinued in future compiler releases.  The
  139.              generated C code is written to two files, a header file
  140.              containing file-scope declarations, and a file containing
  141.              function definitions.  The individual controls in this group
  142.              are as follows:
  143.  
  144.              == (( OONN||OOFFFF ))
  145.                   Enables the C listing.  This option is implied by any of
  146.                   the others, but may be used to enable the listing when no
  147.                   other options are required.  For example, specifying
  148.                   --CCLLIISSTT::==OONN is the equivalent of specifying --cclliisstt.
  149.  
  150.              ddoottcc__ffiillee== _f_i_l_e_n_a_m_e
  151.                   Writes the program units into the specified file,
  152.                   _f_i_l_e_n_a_m_e.  The default source file name has the extension
  153.                   ..ww22cc..cc.
  154.  
  155.              ddootthh__ffiillee== _f_i_l_e_n_a_m_e
  156.                   Specifies the file into which file-scope declarations are
  157.                   deposited.  Defaults to the source file name with the
  158.                   extension ..ww22cc..hh.
  159.  
  160.              eemmiitt__ppffeettcchh [[ == (( OONN||OOFFFF ))]]
  161.                   Displays prefetch information as comments in the
  162.                   transformed source.  If OONN or OOFFFF is not specified, the
  163.                   default is OOFFFF.
  164.  
  165.              lliinneelleennggtthh== _n
  166.                   Sets the maximum line length to _n characters.  The
  167.                   default is unlimited.
  168.  
  169.              sshhooww [[ == (( OONN||OOFFFF ))]]
  170.                   Prints the input and output file names to stderr.  If OONN
  171.                   or OOFFFF is not specified, the default is OONN.
  172.  
  173.      --ccoommmmoonn Relaxes the ANSI/ISO C Strict-Ref/Def-initialization model to
  174.              the traditional IRIX Relaxed Ref/Def model.  With --ccoommmmoonn, the
  175.              declaration iinntt ii;; in multiple files at file level is merged.
  176.              Without it, ANSI/ISO C generates a warning (from lldd(1)) about
  177.              duplicate definitions.  When C and Fortran compiled objects
  178.              are linked together and an ANSI C defined variable should be
  179.              located at the same address as a Fortran common block, you
  180.              must compile the C source with the --ccoommmmoonn flag.  When
  181.              compiling in traditional K&R/Version7 C mode (see --cccckkrr), the
  182.              --ccoommmmoonn option is ignored.
  183.  
  184.      --DD _n_a_m_e=_d_e_f
  185.      --DD _n_a_m_e Define _n_a_m_e to the C macro preprocessor, as if by ##ddeeffiinnee.  If
  186.              no definition is given, _n_a_m_e is defined as 11.
  187.  
  188.      --DDEEBBUUGG:: ......
  189.              Controls compiler features related to debugging, such as
  190.              checking for possible errors (at compile time or execution
  191.              time), or controlling the treatment of warning messages.  See
  192.              the DDEEBBUUGG__ggrroouupp((55)) man page for more information, including
  193.              the individual options in this group.  See also the --gg option
  194.              for controlling emission of information for the debugger.
  195.  
  196.      --ddiiaagg__eerrrroorr _n_u_m_b_e_r_l_i_s_t
  197.              Treats messages with the specified numbers as errors and does
  198.              not generate an object file.  _n_u_m_b_e_r_l_i_s_t is a comma-separated
  199.              list of message numbers.
  200.  
  201.      --ddiiaagg__rreemmaarrkk _n_u_m_b_e_r_l_i_s_t
  202.              Treats messages with the specified numbers as remarks unless
  203.              they are non-discretionary errors.  _n_u_m_b_e_r_l_i_s_t is a comma-
  204.              separated list of message numbers.  The messages specified by
  205.              this option are reported only if --ffuullllwwaarrnn is specified.
  206.  
  207.      --ddiiaagg__ssuupppprreessss _n_u_m_b_e_r_l_i_s_t
  208.              Equivalent to specifying --wwooffff _n_u_m_b_e_r_l_i_s_t.  _n_u_m_b_e_r_l_i_s_t is a
  209.              comma-separated list of message numbers.
  210.  
  211.      --ddiiaagg__wwaarrnniinngg _n_u_m_b_e_r_l_i_s_t
  212.              Treats messages with the specified numbers as warnings unless
  213.              they are non-discretionary errors.  _n_u_m_b_e_r_l_i_s_t is a comma-
  214.              separated list of message numbers.  If ww is also specified,
  215.              the messages specified by this option are not reported.
  216.  
  217.      --ddoollllaarr Allows the dollar sign ($) as a character in C identifiers
  218.              (including the leading character of an identifier).  The
  219.              option is provided solely for compatibility purposes.  The
  220.              dollar sign is not a standard C identifier character and its
  221.              use is not recommended.
  222.  
  223.      --EE      Runs only the preprocessor phase on the source files and sends
  224.              the result to standard output.  The resultant output will
  225.              contain line directives.  This option overrides the --nnooccpppp
  226.              option.
  227.  
  228.      --ffbb <<_f_i_l_e>>
  229.              Specifies the feedback file (_f_i_l_e) to be used as input to the
  230.              compilation.  This feedback file can be produced by using
  231.              pprrooff(1) with its --ffeeeeddbbaacckk option from one or more ..CCoouunnttss
  232.              files generated by the execution of the instrumented program
  233.              produced by ppiixxiiee(1).
  234.  
  235.      --ffbbggeenn  Generates an instrumented executable program.  Such an
  236.              executable is suitable for producing one or more ..CCoouunnttss files
  237.              for feedback compilation.  When the --cc option is used to
  238.              produce an object file that is eventually linked to form an
  239.              instrumented executable, the --ffbbggeenn option should also be
  240.              specified.  If the --cc option is not specified, ppiixxiiee(1) is run
  241.              automatically to instrument the generated executable.  Run the
  242.              ..xx executable file that is generated without the ..xx suffix.
  243.  
  244.      --ffbbuussee <<_f_i_l_e>>
  245.              Specifies a ..CCoouunnttss file that is used to guide feedback
  246.              compilation.  The specified file is used along with the
  247.              instrumented binary that produced the ..CCoouunnttss file to generate
  248.              a compiler feedback file, which is then used to direct
  249.              optimization of the program.  Run the ..xx executable file that
  250.              is generated without the ..xx suffix.
  251.  
  252.      --ffllooaatt  The --ffllooaatt option is ignored in ANSI/ISO C conformance mode
  253.              and only has effect in --cccckkrr mode.  ANSI/ISO C conformance
  254.              mode uses single precision floating-point operations where
  255.              allowed by the Standard.  Causes the compiler to use single-
  256.              precision floating-point whenever float is specified (except
  257.              in function arguments).  In the following example, aa and bb are
  258.              promoted to double and a double-precision multiply is done,
  259.              followed by a conversion back to single-precision for the
  260.              assignment to cc.
  261.  
  262.  
  263.              ffllooaatt aa;; iinntt bb;; ffllooaatt cc;; cc == aa ** bb;;
  264.  
  265.              bb is promoted to single-precision and a single-precision
  266.              multiply is done.  This option does not affect float and
  267.              double argument passing; float function arguments are promoted
  268.              to double unless function prototypes are used.  Unsuffixed
  269.              floating-point constants are cast to single precision values
  270.              in subexpressions with no double (or long double) operands.
  271.  
  272.      --ffllooaatt__ccoonnsstt
  273.              Interprets floating point constants without precision suffixes
  274.              as single-precision whenever doing so will not lose precision
  275.              and the context is otherwise single-precision.  This may
  276.              prevent unnecessary conversions between single- and double-
  277.              precision in ANSI/ISO C conformance mode when the variables
  278.              involved have all been declared as float but the constants
  279.              have not been appended with ff.
  280.  
  281.      --ffuullllwwaarrnn
  282.              Does various extra checks and produces additional warnings
  283.              that are normally suppressed by default.  This option is
  284.              recommended for all compiles during software development.
  285.  
  286.      --GG _n_u_m  Specifies the maximum size (in bytes) of a data item that is
  287.              to be accessed from the global pointer.  _n_u_m must be a
  288.              positive integral number.  If _n_u_m is zero, no data is accessed
  289.              from the global pointer.  The default value is 8 bytes.
  290.  
  291.              Data stored relative to the global pointer can be accessed by
  292.              the program quickly, but this space is limited.  Large
  293.              programs may overflow the space accessed by the global pointer
  294.              at load time.  If the loader gives the error message BBaadd --GG
  295.              nnuumm vvaalluuee, recompile specifying a lower value for _n (or add
  296.              --GG00 if no --GG was specified.  You should usually use the same
  297.              value of this switch for compiling all files that comprise a
  298.              program executable for DSO.
  299.  
  300.      --gg[_n]   Specifies the debugging information produced by the compiler.
  301.              _n can be one of the following:
  302.  
  303.              00   No debugging information for symbolic debugging is
  304.                  produced.  This is the default.
  305.  
  306.              22   Produces additional debugging information for full
  307.                  symbolic debugging.  Optimizations that limit full
  308.                  symbolic debugging are not done.  This overrides the
  309.                  optimization options (--OO, --OO11, --OO22, --OO33).
  310.  
  311.              33   Produces additional debugging information for symbolic
  312.                  debugging of fully optimized code, which makes the
  313.                  debugger inaccurate.  This can be used with the
  314.                  optimization options (--OO, --OO11, --OO22, --OO33).
  315.  
  316.              Specifying --gg without a debug level is equivalent to
  317.              specifying --gg22.
  318.  
  319.      --hheellpp   Lists all of the available options.
  320.  
  321.      --II _d_i_r  Searches directories for ##iinncclluuddee files whose names do not
  322.              begin with //.  Directories are searched in the following
  323.              order:  directory of the _f_i_l_e argument, directories specified
  324.              in --II options, and the standard directory (//uussrr//iinncclluuddee).
  325.  
  326.      --iiggnnoorree__ssuuffffiixx
  327.              Determines the language of the source file being compiled by
  328.              the command used to invoke the compiler.  By default, the
  329.              language is determined by the file suffixes (..cc, ..ccpppp, ..CC,
  330.              ..ccxxxx, ..ff, ..ff9900, ..ss).  When the --iiggnnoorree__ssuuffffiixx option is
  331.              specified, the cccc command invokes the C compiler.
  332.  
  333.      --IINNLLIINNEE:: ......
  334.              The standalone inliner option group controls application of
  335.              intra-file subprogram inlining when interprocedural analysis
  336.              is not enabled (see the --IIPPAA description).  See the iippaa((55)) man
  337.              page for more information, including the individual options in
  338.              this group.
  339.  
  340.      --IIPPAA:: ......
  341.              The inter-procedural analyzer option group controls
  342.              application of inter-procedural analysis and optimization,
  343.              including inlining, constant propagation, common block array
  344.              padding, dead function elimination, alias analysis, and
  345.              others.  Specify --IIPPAA by itself to invoke the interprocedural
  346.              analysis phase with default options.  If you compile and link
  347.              in distinct steps, you must specify at least --IIPPAA for the
  348.              compile step, and specify --IIPPAA and the individual options in
  349.              the group for the link step.  If you specify --IIPPAA for the
  350.              compile step, and do not specify --IIPPAA for the link step, you
  351.              will receive an error.  See the iippaa((55)) man page for more
  352.              information, including the individual options in this group.
  353.  
  354.      --KKPPIICC   Generates position-independent code (PIC).  This is the
  355.              default and is needed for programs linking with dynamic shared
  356.              libraries.  If you do not want to generate PIC code, specify
  357.              --nnoonn__sshhaarreedd on the command line.
  358.  
  359.      --LL _d_i_r_e_c_t_o_r_y
  360.              In XPG4 mode, changes the algorithm of searching for libraries
  361.              named in --LL operands to look in the specified directory before
  362.              looking in the default location.  Directories specified in --LL
  363.              options are searched in the specified order.  Multiple
  364.              instances of --LL options can be specified.
  365.  
  366.      --ll _l_i_b_r_a_r_y
  367.              In XPG4 mode, searches the specified _l_i_b_r_a_r_y.  A library is
  368.              searched when its name is encountered, so the placement of a
  369.              --ll operand is significant.
  370.  
  371.      --LLAANNGG:: ......
  372.              The language feature option group controls the source language
  373.              interpretation assumed by the compiler.  The individual
  374.              controls in this group are as follows:
  375.  
  376.              ppcchh [[ == (( OONN||OOFFFF ))]]
  377.                  Automatically uses or creates a precompiled header file.
  378.                  This option cannot be specified with --LLAANNGG::uussee__ppcchh or
  379.                  --LLAANNGG::ccrreeaattee__ppcchh.
  380.  
  381.                  A precompiled header file contains a snapshot of all the
  382.                  code preceding the "header stop" point, which is generally
  383.                  the first token in the primary source file that does not
  384.                  belong to a preprocessing directive.  Use of precompiled
  385.                  headers may speed up compilation in certain cases.  For
  386.                  details on precompiled header files, see the _M_I_P_S_p_r_o
  387.                  _C_o_m_p_i_l_i_n_g _a_n_d _P_e_r_f_o_r_m_a_n_c_e _T_u_n_i_n_g _G_u_i_d_e.
  388.  
  389.              ccrreeaattee__ppcchh==_f_i_l_e-_n_a_m_e
  390.                  Creates a precompiled header with the specified _f_i_l_e-_n_a_m_e.
  391.                  This option cannot be specified with --LLAANNGG::ppcchh or
  392.                  --LLAANNGG::uussee__ppcchh.
  393.  
  394.              uussee__ppcchh==_f_i_l_e-_n_a_m_e
  395.                  Specifies the precompiled header, _f_i_l_e-_n_a_m_e, if it is
  396.                  valid for this compilation unit.  The compilation proceeds
  397.                  with a warning if the ppcchh file cannot be used.  This
  398.                  option cannot be specified with --LLAANNGG::ppcchh or
  399.                  --LLAANNGG::ccrreeaattee__ppcchh.
  400.  
  401.              ppcchh__ddiirr==_d_i_r_e_c_t_o_r_y-_n_a_m_e
  402.                  Searches _d_i_r_e_c_t_o_r_y-_n_a_m_e and/or creates a precompiled
  403.                  header file.  This option can be specified with --LLAANNGG::ppcchh,
  404.                  --LLAANNGG::ccrreeaattee__ppcchh, and --LLAANNGG::uussee__ppcchh.  When specified with
  405.                  --LLAANNGG::ccrreeaattee__ppcchh or --LLAANNGG::uussee__ppcchh, the indicated filename
  406.                  is appended to the directory specified by this name,
  407.                  unless the file name is an absolute path name.
  408.  
  409.      --LLIISSTT:: ......
  410.              The listing option flag controls information that gets written
  411.              to a listing (..ll) file.  The individual controls in this group
  412.              are:
  413.  
  414.              == (( OONN||OOFFFF )) Enables or disables writing the listing file.
  415.                           The default is OONN if any --LLIISSTT:: group options are
  416.                           enabled.  By default, the listing file contains a
  417.                           list of options enabled.
  418.  
  419.              aallll__ooppttiioonnss [[ == (( OONN||OOFFFF ))]]
  420.                           Enables or disables listing of most supported
  421.                           options.  The default is OOFFFF.
  422.  
  423.              nnootteess [[ == (( OONN||OOFFFF ))]]
  424.                           If an assembly listing is generated (for example,
  425.                           on --SS), various parts of the compiler (such as
  426.                           software pipelining) generate comments within the
  427.                           listing that describe what they have done.
  428.                           Specifying OOFFFF suppresses these comments.  The
  429.                           default is OONN.
  430.  
  431.              ooppttiioonnss [[ == (( OONN||OOFFFF ))]]
  432.                           Enables or disables listing of the options
  433.                           modified (directly in the command line, or
  434.                           indirectly as a side effect of other options).
  435.                           The default is OOFFFF.
  436.  
  437.              ssyymmbboollss [[ == (( OONN||OOFFFF ))]]
  438.                           Enables or disables listing of information about
  439.                           the symbols (variables) managed by the compiler.
  440.  
  441.      --LLNNOO    Specifies options and transformations performed on loop nests.
  442.              This option is enabled only if the --OO33 option is also
  443.              specified on the compiler command line.  For information on
  444.              the LNO options that are in effect during a compilation, use
  445.              the --LLIISSTT option.  See the llnnoo((55)) man page for more
  446.              information, including the individual options in this group.
  447.  
  448.      --MM      Runs only the preprocessor on the named files and writes
  449.              mmaakkee(1) dependencies to standard output.
  450.  
  451.      --MMDDuuppddaattee _f_i_l_e_n_a_m_e
  452.              Updates _f_i_l_e_n_a_m_e to contain mmaakkee(1) dependencies for the
  453.              output file.  --MMDDuuppddaattee updates only lines in _f_i_l_e_n_a_m_e that
  454.              end with a distinctive mmaakkee comment and begin with the name of
  455.              the output file followed by a colon.  The standard option used
  456.              with mmaakkee(1) is --MMDDuuppddaattee MMaakkeeddeeppeenndd.
  457.  
  458.      --mmiippss_n  Specifies the Instruction Set Architecture (ISA).  _n can be
  459.              one of the following:
  460.  
  461.              11   Generates code using the instruction set of the
  462.                  R2000/R3000 RISC architecture, and searches for mips1
  463.                  libraries/objects at link-time.  This defaults to --oo3322.
  464.  
  465.              22   Generates code using the MIPS II instruction set (MIPS I +
  466.                  R4000 specific extensions), and searches for mips2
  467.                  libraries/objects at link-time.  This defaults to --oo3322.
  468.  
  469.              33   Generates code using the full MIPS III instruction set,
  470.                  and searches for mips3 libraries/objects at link-time.  If
  471.                  --nn3322 or --6644 are not specified, this defaults to --6644 on
  472.                  R8000-based systems and --nn3322 on all other systems.
  473.  
  474.              --mmiippss44
  475.                  Generates code using the full MIPS IV instruction set
  476.                  which is supported on R10000, R5000 and R8000 systems, and
  477.                  searches for mips4 libraries/objects at link-time.  This
  478.                  is the default on R8000 systems.  If --nn3322 or --6644 are not
  479.                  specified, this defaults to --6644 on R8000-based systems and
  480.                  --nn3322 on all other systems.
  481.  
  482.      --mmpp     Enables multiprocessing options.  For more information on the
  483.              directives, see the _C _L_a_n_g_u_a_g_e _R_e_f_e_r_e_n_c_e _M_a_n_u_a_l.
  484.  
  485.      --nnooccpppp  Does not run the preprocessor phase on the source files.  This
  486.              option is ignored when compiling a ..ii file.
  487.  
  488.      --nnoonn__sshhaarreedd
  489.              Builds a non-shared object.  This is the opposite of --KKPPIICC.
  490.              The --nnoonn__sshhaarreedd option causes the linker to search the
  491.              nnoonnsshhaarreedd subdirectory of each default library search
  492.              directory.  For more information, see the lldd(1) man page.  The
  493.              linker defaults the archive extensions from ..ssoo to ..aa.  The
  494.              appropriate non-shared library images must be installed.
  495.  
  496.      --nnoossttddiinncc
  497.              Does not search for ##iinncclluuddee files in the standard directory
  498.              (//uussrr//iinncclluuddee).
  499.  
  500.      --oo _o_u_t_p_u_t
  501.              Produces an absolute binary file named _o_u_t_f_i_l_e.  When this
  502.              option is used in conjunction with the --cc option and a single
  503.              C source file, a relocatable object file named _o_u_t_f_i_l_e is
  504.              produced.  When specified with the --SS option, the --oo option is
  505.              ignored.  If --oo and --cc are not specified, a file named aa..oouutt
  506.              is produced.
  507.  
  508.      --OO[_n]   Specifies the basic level of optimization desired.  _n can be
  509.              one of the following:
  510.  
  511.              00    Turns off all optimizations.  This is the default.
  512.  
  513.              11    Turns on local optimizations that can be done quickly.
  514.  
  515.              22    Turns on extensive optimization.  The optimizations at
  516.                   this level are generally conservative, in the sense that
  517.                   they are virtually always beneficial, provide
  518.                   improvements commensurate to the compile time spent to
  519.                   achieve them, and avoid changes which affect such things
  520.                   as floating point accuracy.
  521.  
  522.              33    Turns on aggressive optimization.  The optimizations at
  523.                   this level are distinguished from --OO22 by their
  524.                   aggressiveness, generally seeking highest-quality
  525.                   generated code even if it requires extensive compile
  526.                   time.  They may include optimizations that are generally
  527.                   beneficial but may hurt performance.
  528.  
  529.                   This option also enables the --OOPPTT::rroouunnddooffff==22 option which
  530.                   does aggressive rearrangement of floating point
  531.                   calculations with potential effects on accuracy.  See the
  532.                   oopptt(5), iippaa(5), and llnnoo(5) man pages for additional
  533.                   information on general optimization, standalone inliner
  534.                   and interprocedural analysis, and loop nest optimizer,
  535.                   respectively.
  536.  
  537.                   If no value is specified for _n, 2 is assumed.
  538.  
  539.      --OOffaasstt [[ == _i_p_x_x]]
  540.              Selects optimizations that maximize performance for the given
  541.              SGI target platform, _i_p_x_x.  These optimizations may differ
  542.              between releases of the compiler and among the supported
  543.              platforms.  They enable the full instruction set of the target
  544.              platform (for example, --mmiippss44 for an R10000).  Although the
  545.              optimizations are generally safe, they may affect floating
  546.              point accuracy due to rearrangement of computations.  Typical
  547.              optimizations include --OO33, --IIPPAA, --TTAARRGG::ppllaattffoorrmm==_i_p_x_x, --nn3322,
  548.              and --OOPPTT::OOlliimmiitt==00::rroouunnddooffff==33::ddiivv__sspplliitt==OONN::aalliiaass==ttyyppeedd.  See
  549.              the --TTAARRGG::ppllaattffoorrmm==_i_p_x_x option for information about the
  550.              optional argument.  To determine which options are set by
  551.              --OOffaasstt, use the --LLIISSTT::ooppttiioonnss option.  The default is an
  552.              R10000 Power Challenge, IP25.
  553.  
  554.      --OOPPTT::......
  555.              Controls miscellaneous optimizations.  This option overrides
  556.              default optimizations.  See the oopptt(5) man page for more
  557.              information, including the individual options in this group.
  558.  
  559.      --PP      Runs only the preprocessor and puts the result for each source
  560.              file in a corresponding ..ii file.  The ..ii file has no inline
  561.              directives in it.
  562.  
  563.      --ppccaa [[lliisstt || kkeeeepp]]
  564.              Invokes the MIPSpro automatic parallelization.  One of the
  565.              following two arguments can also be specified:
  566.  
  567.              lliisstt Runs ppccaa and produces a listing file appended with ..LL,
  568.                   and explains which loops were parallelized and which were
  569.                   not (and why).
  570.  
  571.              kkeeeepp Runs ppccaa, produces the listing file, and produces a
  572.                   transformed multiprocessed C intermediate file appended
  573.                   with ..MM (Power C only).
  574.  
  575.      --ppeeddaannttiicc
  576.              In ANSI/ISO mode, warns that the ##iiddeenntt preprocessor directive
  577.              is non-standard.  This directive is a System V extension,
  578.              which by default is silently ignored.  This option is ignored
  579.              in K&R/Version7 C mode.
  580.  
  581.      --rr      When specified with --IIPPAA and --cc during compilation, the
  582.              resulted object is an ELF relocatable object, not an
  583.              intermediate object.  When specified with --IIPPAA::rreelloopptt==oonn, the
  584.              resulting object has non-PIC optimizations performed on it.
  585.  
  586.      --rr55000000  Schedules code for the R5000 and adds
  587.              --LL//uussrr//lliibb{{3322,,6644}}//mmiippss{{33,,44}}//rr55000000 to the head of the library
  588.              search path depending on which ABI and ISA is specified or
  589.              implied.  (See the mmaatthh(3) man page for details of math
  590.              library usage.)
  591.  
  592.      --rr88000000  Schedules code for the R8000 and adds
  593.              --LL//uussrr//lliibb{{3322,,6644}}//mmiippss{{33,,44}}//rr88000000 to the head of the library
  594.              search path depending on which ABI and ISA is specified or
  595.              implied.  (See the mmaatthh(3) man page for details of math
  596.              library usage.)
  597.  
  598.      --rr1100000000 Schedules code for the R10000 and adds
  599.              --LL//uussrr//lliibb{{3322,,6644}}//mmiippss{{33,,44}}//rr1100000000 to the head of the library
  600.              search path depending on which ABI and ISA is specified or
  601.              implied.  (See the mmaatthh(3) man page for details of math
  602.              library usage.)
  603.  
  604.      --SS      Compiles the specified source files and creates symbolic
  605.              assembly language output files suffixed with ..ss.
  606.  
  607.      --sshhooww   Prints the passes as they execute with their arguments and
  608.              their input and output files.
  609.  
  610.      --ssiiggnneedd Causes all cchhaarr declarations to be ssiiggnneedd cchhaarr declarations.
  611.              The default is to treat them as uunnssiiggnneedd cchhaarr declarations.
  612.  
  613.      --TTAARRGG:: ......
  614.              The target option group controls the target architecture and
  615.              machine for which code is generated.  The individual controls
  616.              in this group are:
  617.  
  618.              ddiissmmiissss__mmeemm__ffaauullttss [[ == (( OONN||OOFFFF ))]]
  619.                   Forces the kernel to dismiss any memory faults (such as
  620.                   SIGSEGV or SIGBUS) which occur during execution of the
  621.                   program (not just the code being compiled).  This option
  622.                   allows optimizations which might cause extra faults and
  623.                   can slow down execution if extra faults occur.  It also
  624.                   prevents recognition of legitimate faults.  Default is
  625.                   OOFFFF.
  626.  
  627.              eexxcc__mmaaxx== [[II]][[UU]][[OO]][[ZZ]][[VV]]
  628.                   Specifies the maximum set of IEEE-754 floating point
  629.                   exceptions for which traps may be enabled at runtime for
  630.                   the program (not just the code being compiled).  Zero or
  631.                   more of the five letters specify inexact (II), underflow
  632.                   (UU), overflow (OO), divide-by-zero (ZZ), and invalid
  633.                   operation (VV) exceptions.  This option allows
  634.                   optimizations which might cause extra exceptions, and it
  635.                   may prevent recognition of legitimate faults.  It does
  636.                   not affect explicit setting of exception enable flags by
  637.                   the program, and should be avoided if the program does
  638.                   this.  See also the --TTAARRGG::eexxcc__mmiinn description.  Default
  639.                   is IIUUOOZZVV, affected by the --TTEENNVV::XX option.
  640.  
  641.              eexxcc__mmiinn== [[II]][[UU]][[OO]][[ZZ]][[VV]]
  642.                   Specifies the minimum set of IEEE-754 floating point
  643.                   exceptions for which traps must be enabled at runtime for
  644.                   the program (not just the code being compiled).  Zero or
  645.                   more of the five letters specify inexact (II), underflow
  646.                   (UU), overflow (OO), divide-by-zero (ZZ), and invalid
  647.                   operation (VV) exceptions.  This option does not affect
  648.                   explicit setting of exception enable flags by the
  649.                   program, and should be avoided if the program does this.
  650.                   See also the --TTAARRGG::eexxcc__mmaaxx option.  The --TTAARRGG::eexxcc__mmaaxx and
  651.                   --TTAARRGG::eexxcc__mmiinn options specified for the various files
  652.                   that comprise a program must be consistent; for example,
  653.                   none of the --TTAARRGG::eexxcc__mmiinn values may require exceptions
  654.                   disabled by --TTAARRGG::eexxcc__mmaaxx values.  Default is none.
  655.  
  656.              ffpp__pprreecciissee [[ == (( OONN||OOFFFF ))]]
  657.                   Forces the target processor into precise floating point
  658.                   mode at execution time.  Using this option to compile any
  659.                   of the component source files of a program invokes this
  660.                   feature in the resulting program.  This option is
  661.                   supported only on R8000 target processors and can cause
  662.                   significant performance degradation for programs with
  663.                   heavy floating point usage.  See also the ffppmmooddee(1)
  664.                   command.
  665.  
  666.              iissaa== (( mmiippss33||mmiippss44 ))
  667.                   Identifies the target instruction set architecture for
  668.                   compilation, such as the set of instructions that are
  669.                   generated.  Specify --TTAARRGG::iissaa==mmiippss33 for code that must
  670.                   run on R4000 processors.  This option is equivalent to
  671.                   specifying --mmiippss33 or --mmiippss44 (see those options for
  672.                   defaults).
  673.  
  674.              mmaadddd [[ == (( OONN||OOFFFF ))]]
  675.                   Enables or disables transformations to use multiply/add
  676.                   instructions.  These instructions perform a multiply and
  677.                   an add with a single roundoff.  They are more accurate
  678.                   than the usual discrete operations, and may cause results
  679.                   not to match baselines from other targets.  Use this
  680.                   option to determine whether observed differences are due
  681.                   to mmaadddds.  Default is OONN for MIPS IV target, ignored for
  682.                   others.
  683.  
  684.              ppllaattffoorrmm [[ == _i_p_x_x]]
  685.                   Identifies the target SGI platform for compilation,
  686.                   choosing various internal parameters (such as cache
  687.                   sizes) appropriately.  The current supported values are
  688.                   ip19, ip20, ip21, ip22_4k, ip22_5k, ip24, ip25, ip26,
  689.                   ip27, ip28, ip30, ip32_5k, and ip32_10k.  The appropriate
  690.                   selection for your platform can be determined by running
  691.                   ""hhiinnvv --cc pprroocceessssoorr"".  The first line identifies the
  692.                   proper IP number and, for those where a processor suffix
  693.                   (for example, __44kk) is required, the next line identifies
  694.                   the processor (R4000).
  695.  
  696.              pprroocceessssoorr== (( rr44000000||rr55000000||rr88000000||rr1100000000 ))
  697.                   Selects the processor for which to schedule code.  The
  698.                   chosen processor must support the ISA specified (or
  699.                   implied by the ABI).
  700.  
  701.              ssyynncc [[ == (( OONN||OOFFFF ))]]
  702.                   Enable/disable use of SYNC instructions.  Default is OONN.
  703.  
  704.      --TTEENNVV:: ......
  705.              The target environment option group controls the target
  706.              environment assumed and/or produced by the compiler.  The
  707.              individual controls in this group are:
  708.  
  709.              aalliiggnn__aaggggrreeggaattee[[== _b_y_t_e_s ]]
  710.                   Controls alignment of allocated aggregates, such as
  711.                   structs and arrays.  _b_y_t_e_s specifies that any aggregate
  712.                   object at least that large is to have at least that
  713.                   alignment.  By default (or if _b_y_t_e_s is not specified),
  714.                   aggregates are aligned to the integer register size, for
  715.                   example, 8 bytes for 64-bit programs and 4 bytes for 32-
  716.                   bit programs.  The value 0 specifies that the minimum
  717.                   alignment consistent with the ABI is to be used.
  718.                   Otherwise, the value given must be a power of two no
  719.                   greater than 16.
  720.  
  721.              cchheecckk__ddiivv[[==NN]]
  722.                   See --DDEEBBUUGG::ddiivv__cchheecckk on the DDEEBBUUGG__ggrroouupp(5) man page.
  723.  
  724.              llaarrggee__GGOOTT [[ ==OONN ]]
  725.                   Assumes that the Global Offset Table (for shared code) is
  726.                   more than 64K bytes and generates large offsets for
  727.                   references to it.  Default is OOFFFF.  See also the
  728.                   ssmmaallll__GGOOTT option description.
  729.  
  730.              ssmmaallll__GGOOTT [[ ==OONN ]]
  731.                   Assumes that the Global Offset Table (for shared code) is
  732.                   less than 64K bytes and generates small offsets for
  733.                   references to it.  This is the default mode. See also the
  734.                   llaarrggee__GGOOTT option decription.
  735.  
  736.              vvaarraarrggss__pprroottoottyyppeess [[ == (( OOFFFF||OONN ))]]
  737.                   See the --DDEEBBUUGG::vvaarraarrggss__pprroottoottyyppeess option description on
  738.                   the DDEEBBUUGG__ggrroouupp(5) man page.
  739.  
  740.              XX==00 .... 44
  741.                   Specifies the level of enabled exceptions that is assumed
  742.                   for purposes of performing speculative code motion
  743.                   (default level 1 at --OO00 .... --OO22, 2 at --OO33).  In general,
  744.                   an instruction is not speculated (i.e. moved above a
  745.                   branch by the optimizer) unless any exceptions it might
  746.                   cause are disabled by this option.  At level 0, no
  747.                   speculative code motion may be performed.  At level 1,
  748.                   safe speculative code motion may be performed, with
  749.                   IEEE-754 underflow and inexact exceptions disabled.  At
  750.                   level 2, all IEEE-754 exceptions are disabled except
  751.                   divide by zero.  At level 3, all IEEE-754 exceptions are
  752.                   disabled including divide by zero.  At level 4, memory
  753.                   exceptions may be disabled or ignored.
  754.  
  755.                   NOTE: At levels above the default level 1, various
  756.                   hardware exceptions that are normally useful for
  757.                   debugging, or which are trapped and repaired by the
  758.                   hardware, may be disabled or ignored, with the potential
  759.                   of hiding obscure bugs.  The program should not
  760.                   explicitly manipulate the IEEE floating point trap-enable
  761.                   flags in the hardware if this option is used.
  762.  
  763.              zzeerrooiinniitt__iinn__bbssss [[ == (( OOFFFF||OONN ))]]
  764.                   Enables data that is initialized to zero to be loaded
  765.                   into the ..bbssss section instead of the ..ddaattaa section.
  766.  
  767.      --ttrraappuuvv This option has been replaced by --DDEEBBUUGG::ttrraapp__uunniinniittiiaalliizzeedd.
  768.              See the DDEEBBUUGG__ggrroouupp(5) man page.
  769.  
  770.      --UU _n_a_m_e Removes any initial definition of _n_a_m_e.
  771.  
  772.      --uussee__rreeaaddoonnllyy__ccoonnsstt
  773.              Puts string literals and file-level (static, common, or
  774.              external) ccoonnsstt qualified initialized variables into a ..rrooddaattaa
  775.              section to separate these objects from data likely to be
  776.              modified.  This is the default.  However, if you want
  777.              constants to not be writeable, then in addition to specifying
  778.              --uussee__rreeaaddoonnllyy__ccoonnsstt, you must also specify --GG00 --rrddaattaa__sshhaarreedd,
  779.              because by default, the linker makes ..rrooddaattaa and gp-relative
  780.              sections writable.
  781.  
  782.      --uussee__rreeaaddwwrriittee__ccoonnsstt
  783.              Puts all ccoonnsstt qualified variables and string literals in a
  784.              readable and writable data section.
  785.  
  786.      --vv      This option has the same functionality as specifying --ffuullllwwaarrnn
  787.              (verbose warnings).
  788.  
  789.      --vveerrssiioonn
  790.              Displays the version number of the compiler.
  791.  
  792.      --WW _c,_a_r_g_1[[,,_a_r_g_2......]]
  793.              Passes the argument(s) _a_r_g_i to the compiler pass _c where _c is
  794.              one of [ppKKMMffbbaall].  The cc selects the compiler pass according
  795.              to the following table:
  796.  
  797.              NNaammee ((--nn3322 oorr --6644))            CChhaarraacctteerr
  798.  
  799.              preprocessor                  pp
  800.  
  801.              pca                           KK (Automatic Parallelization
  802.                                            Option Only)
  803.  
  804.              mpc
  805.  
  806.              fec                           ff (See below)
  807.  
  808.              be                            bb
  809.  
  810.              asm                           aa
  811.  
  812.              ld                            ll
  813.  
  814.              Sets of these phase names can be used to select any
  815.              combination of phases.  For example, --WWbbaa,,--oo,,ffoooo passes the
  816.              option --oo ffoooo to the bb and aa phases.
  817.  
  818.      --ww      Suppresses warning messages.
  819.  
  820.      --ww22     Counts warnings as errors.
  821.  
  822.      --wwooffff aallll
  823.              Suppresses warning messages.
  824.  
  825.      --wwooffff _n_u_m_b_e_r_l_i_s_t
  826.              (ANSI/ISO C only) Suppresses warning messages.  _n_u_m_b_e_r_l_i_s_t is
  827.              a comma-separated set of 1 or more numbersets.  A numberset is
  828.              either a simple integer or a pair of integers separated by a
  829.              hyphen.  Examples:  --wwooffff 11552277 suppresses warning 1527.  --wwooffff
  830.              11552277--11557700 suppresses warnings 1527 through 1570.  --wwooffff 11660000--
  831.              11770000,,11770055--11779900 suppresses numbers 1600 through 1700 and 1705
  832.              through 1790.
  833.  
  834.      --xxaannssii  (ANSI/ISO C only) Enables ANSI/ISO C with all the same
  835.              definitions as K&R/Version7 C mode (--cccckkrr).  ____SSTTDDCC____ and
  836.              ____EEXXTTEENNSSIIOONNSS____ are defined, many symbols are added into the
  837.              namespace, and ____IINNLLIINNEE__IINNTTRRIINNSSIICCSS is defined and may cause
  838.              some intrinsic <<mmaatthh..hh>>, <<ssttddiioo..hh>>, <<ssttrriinngg..hh>>, and <<ccuurrsseess..hh>>
  839.              library functions to be inlined.  Such inlined functions may
  840.              not set eerrrrnnoo in accordance with the strict ANSI/ISO C
  841.              standard requirements.  --xxaannssii is the default used by the
  842.              compiler unless the environment variable SSGGII__CCCC is set (see
  843.              the SSGGII__CCCC environment variable definition on this man page).
  844.              If specified with --cccckkrr or --aannssii, the last option specified is
  845.              effective and the rest are ignored.
  846.  
  847.      --XXccpplluussccoommmm
  848.              Applies C++ style comment rules.
  849.  
  850.      --xxggoott   Uses a 32-bit offset in the Global Symbol Table (GOT).  By
  851.              default, addresses are loaded out of the GOT using a 16-bit
  852.              offset from a context pointer.  The default size of the GOT is
  853.              limited to 64K bytes or about 8K worth of symbols.  This can
  854.              result in receiving the GGOOTT oovveerrffllooww message.  Use of the
  855.              --xxggoott option lets the GOT contain up to 1G of entries;
  856.              however, the resulting executable will be somewhat larger and
  857.              slower.  --xxggoott is a synonym for --TTEENNVV::llaarrggee__GGOOTT.
  858.  
  859.              Another solution for GGOOTT oovveerrffllooww problems is to compile the
  860.              objects without the --xxggoott option and to link using the
  861.              --mmuullttiiggoott option which is described on the lldd(1) man page.
  862.  
  863.              For more information about the GOT, the --xxggoott option and some
  864.              important notes about its use, see the ddssoo(5) man page (see
  865.              the FAQ section, "What should I do about a GOT overflow?").
  866.  
  867.      --YY _c,_p_a_t_h
  868.              Sets the _p_a_t_h in which to find the associated phase, using the
  869.              same phase names as given in the --WW option.  The following
  870.              characters can also be specified:
  871.  
  872.              II    Specifies where to search for include files
  873.  
  874.              SS    Specifies where to search for startup files (ccrrtt**..oo)
  875.  
  876.              LL    Specifies where to search for libraries
  877.  
  878. LLOOAADDEERR OOPPTTIIOONNSS
  879.      Other arguments are assumed to be either loader options, object files,
  880.      or libraries.  These files, together with the results of any
  881.      compilations specified, are loaded in the order given, producing an
  882.      executable program with the default name aa..oouutt..
  883.  
  884. EENNVVIIRROONNMMEENNTT VVAARRIIAABBLLEESS
  885.      For information on environment variables, see the ppee__eennvviirroonn(5) man
  886.      page.
  887.  
  888. NNOOTTEESS
  889.      The compiler uses the same set of message numbers when compiling --nn3322
  890.      or --6644, but it uses a different set of message numbers when compiling
  891.      --oo3322.  Keep this in mind when writing multi-ABI MMaakkeeffiilleess.
  892.  
  893.      All SGI platforms support the development and execution of --oo3322
  894.      applications.
  895.  
  896.      All SGI platforms support the development and execution of --nn3322
  897.      applications, but the subsystems containing the appropriate libraries
  898.      are not always installed by default.  During installation, you may
  899.      have to select subsystems with names like pprroodduucctt..ssww3322 for --nn3322
  900.      libraries.
  901.  
  902.      All SGI platforms support the development of --6644 applications, but the
  903.      subsystems containing the appropriate libraries are not always
  904.      installed by default.  During installation, you may have to select
  905.      subsystems with names like pprroodduucctt..ssww6644 for --6644 libraries.
  906.  
  907.      Most SGI platforms do not support the execution of --6644 applications.
  908.      If the output of %%uunnaammee returns IRIX64, you can run 64-bit programs.
  909.  
  910.      The compiler attempts to continue after finding semantic errors.
  911.      These errors may result in compiler internal errors.
  912.  
  913. EEXXAAMMPPLLEESS
  914.      EXAMPLE 1:  Compile 64-bit MIPS IV (R8000, R10000, R5000) code, which
  915.      will not run on R4000/R4400 processors.
  916.  
  917.           cc -64 -mips4 ...
  918.  
  919.      EXAMPLE 2:  Compile 64-bit ABI (MIPS 3) code, scheduled for best
  920.      performance on the R8000 processor but not using R8000-specific (MIPS
  921.      IV) instructions so that it will be executable on R4000/R4400
  922.      processors.
  923.  
  924.           cc -64 -TARG:proc=r8000 ...
  925.  
  926.      EXAMPLE 3:  Compile with extensive optimization enabled, allowing
  927.      transformations which affect floating point roundoff and overflow,
  928.      assuming strict ANSI C aliasing rules.
  929.  
  930.           cc -O2 -OPT:roundoff=2:alias=typed ...
  931.  
  932.      EXAMPLE 4:  Compile with aggressive optimization (including SWP)
  933.      enabled, allowing transformations with arbitrary effects on floating
  934.      point roundoff and overflow.
  935.  
  936.           cc -O3 -OPT:roundoff=3 ...
  937.  
  938. FFIILLEESS
  939.      ffiillee..cc               C source file
  940.  
  941.      ffiillee..ii               C source file
  942.  
  943.      ffiillee..oo               Object file
  944.  
  945.      ffiillee..ss               Assembly language source file
  946.  
  947.      ffiillee..LL               Listing file
  948.  
  949.      aa..oouutt                Loaded output
  950.  
  951.      mmoonn..oouutt              File produced for analysis by pprrooff(1)
  952.  
  953.      //uussrr//iinncclluuddee         Standard directory for ##iinncclluuddee files
  954.  
  955.      //uussrr//bbiinn//lldd          Loader
  956.  
  957.      //uussrr//bbiinn//ccoorrdd        Function rearranger
  958.  
  959.      //ttmmpp//ccmmppllrr**          Temporary files
  960.  
  961.      //eettcc//ccoommppiilleerr..ddeeffaauullttss
  962.                           Default ABI, ISA and processor options
  963.                           configuration file
  964.  
  965.      //uussrr//lliibb{{3322,,6644}}//lliibbcc..ssoo..11
  966.                           Shared standard library (This file is loaded by
  967.                           using the --llcc loader option and not a full path
  968.                           name.)
  969.  
  970.      //uussrr//lliibb{{3322,,6644}}//lliibbffppee..ssoo
  971.                           Floating point exception handler library, see
  972.                           ssiiggffppee(3c)
  973.  
  974.      //uussrr//lliibb{{3322,,6644}}//lliibbmm..ssoo
  975.                           Shared math library
  976.  
  977.      //uussrr//lliibb{{3322,,6644}}//lliibbpprrooff..aa
  978.                           Profiling library
  979.  
  980. SSEEEE AALLSSOO
  981.      B. W. Kernighan and D. M. Ritchie, _T_h_e _C _P_r_o_g_r_a_m_m_i_n_g _L_a_n_g_u_a_g_e,
  982.      Prentice-Hall, 1978
  983.      _A_N_S_I _X_3._1_5_9-_1_9_8_9, _t_h_e _A_N_S_I _C _S_t_a_n_d_a_r_d
  984.      _P_r_o_g_r_a_m_m_i_n_g _i_n _C-_a _t_u_t_o_r_i_a_l
  985.      _C _R_e_f_e_r_e_n_c_e _M_a_n_u_a_l
  986.      _P_o_w_e_r _C _U_s_e_r'_s _G_u_i_d_e
  987.      _A_N_S_I _C _T_r_a_n_s_i_t_i_o_n _G_u_i_d_e
  988.      _M_I_P_S_p_r_o _C_o_m_p_i_l_i_n_g, _D_e_b_u_g_g_i_n_g _a_n_d _P_e_r_f_o_r_m_a_n_c_e _T_u_n_i_n_g _G_u_i_d_e
  989.      _M_I_P_S_p_r_o _6_4-_b_i_t _P_o_r_t_i_n_g _a_n_d _T_r_a_n_s_i_t_i_o_n _G_u_i_d_e
  990.      _M_I_P_S_p_r_o _N_3_2 _A_B_I _G_u_i_d_e
  991.  
  992.      aass(1), CCCC(1), ccoolllliiddee(1), ccpppp(1), ccoopptt(1), ff9900(1), ppccaa(1), mmppcc(1),
  993.      ddiiss(1), nnmm(1), ddbbxx(1), eellffdduummpp(1), ff7777(1), ffttoocc(1), lldd(1), ppiixxiiee(1),
  994.      pprrooff(1), ssppeeeeddsshhoopp(1), wwhhaatt(1)
  995.  
  996.      ggeettaabbii(3c), ssiiggffppee(3c),
  997.  
  998.      llnnoo(5), oo3322(5), oopptt(5)
  999.  
  1000.      This man page is available only online.
  1001.